C***************************************************************
C      Gauss-Legendre on a Triangle by Stephen Kirkup                
C***************************************************************
C
C  Copyright 1998- Stephen Kirkup
C  School of Computing Engineering and Physical Sciences
C  smkirkup@uclan.ac.uk
C  http://www.researchgate.net/profile/Stephen_Kirkup
C
C  This open source code can be found at
C   www.boundary-element-method.com/fortran/GLT25.FOR 
C
C  Issued under the GNU General Public License 2007, see gpl.txt
C
C
C  Part of the the author's open source BEM packages. 
C  All codes and manuals can be downloaded from 
C  www.boundary-element-method.com
C
C  Set up standard Gaussian Quadrature rule. Stores the values
C   for the 25 point Gaussian quadrature over the standard 
C   triangle. Taken from "Some criteria for numerically 
C   integrated matrices and quadrature formulas for triangles" 
C   by M.E.Laursen and M.Gellert in
C   International Journal for Numerical Methods in Engineering
C   Vol 12, 67-76 1978.

      SUBROUTINE GLT25(MAXNQ,NQ,WQ,XQ,YQ)
      INTEGER MAXNQ,NQ
      REAL*8 WQ(MAXNQ),XQ(MAXNQ),YQ(MAXNQ)
      REAL*8 ETA, NU, ZETA, WEIGHT
      NQ=25
      WQ(1)=0.081743329146286D0
      WEIGHT=0.045957963604745D0
      WQ(2)=WEIGHT
      WQ(3)=WEIGHT
      WQ(4)=WEIGHT
      WEIGHT=.013352968813150
      WQ(5)=WEIGHT
      WQ(6)=WEIGHT
      WQ(7)=WEIGHT
      WEIGHT=0.063904906396424
      WQ(8)=WEIGHT
      WQ(9)=WEIGHT
      WQ(10)=WEIGHT
      WQ(11)=WEIGHT
      WQ(12)=WEIGHT
      WQ(13)=WEIGHT
      WEIGHT=0.034184648162959
      WQ(14)=WEIGHT
      WQ(15)=WEIGHT
      WQ(16)=WEIGHT
      WQ(17)=WEIGHT
      WQ(18)=WEIGHT
      WQ(19)=WEIGHT
      WEIGHT=0.025297757707288
      WQ(20)=WEIGHT
      WQ(21)=WEIGHT
      WQ(22)=WEIGHT
      WQ(23)=WEIGHT
      WQ(24)=WEIGHT
      WQ(25)=WEIGHT

      XQ(1)=0.333333333333333D0
      YQ(1)=0.333333333333333D0
      ETA=0.715677797886872D0
      NU=0.142161101056564D0
      XQ(2)=NU
      YQ(2)=ETA
      XQ(3)=ETA
      YQ(3)=NU
      XQ(4)=NU
      YQ(4)=NU
      ETA=0.935889253566112D0
      NU=0.032055373216944D0
      XQ(5)=NU
      YQ(5)=ETA
      XQ(6)=ETA
      YQ(6)=NU
      XQ(7)=NU
      YQ(7)=NU
      ETA=0.148132885783821D0
      NU=0.321812995288835D0
      ZETA=0.530054118927344D0
      XQ(8)=NU
      YQ(8)=ETA
      XQ(9)=ETA
      YQ(9)=NU
      XQ(10)=NU
      YQ(10)=ZETA
      XQ(11)=ZETA
      YQ(11)=NU
      XQ(12)=ETA
      YQ(12)=ZETA
      XQ(13)=ZETA
      YQ(13)=ETA
      ETA=0.029619889488730D0
      NU=0.369146781827811D0
      ZETA=0.601233328683459D0
      XQ(14)=NU
      YQ(14)=ETA
      XQ(15)=ETA
      YQ(15)=NU
      XQ(16)=NU
      YQ(16)=ZETA
      XQ(17)=ZETA
      YQ(17)=NU
      XQ(18)=ETA
      YQ(18)=ZETA
      XQ(19)=ZETA
      YQ(19)=ETA
      ETA=0.028367665339938D0
      NU=0.163701733737182D0
      ZETA=0.807930600922880D0
      XQ(20)=NU
      YQ(20)=ETA
      XQ(21)=ETA
      YQ(21)=NU
      XQ(22)=NU
      YQ(22)=ZETA
      XQ(23)=ZETA
      YQ(23)=NU
      XQ(24)=ETA
      YQ(24)=ZETA
      XQ(25)=ZETA
      YQ(25)=ETA
      

      END

C ----------------------------------------------------------------------
